export  interface LoginFrom {
    userName:string;
    password:string;
    captchaCode:string;
    key:string;
    rememberMe:boolean;
}
export interface Role {
    roleId?:  number;
    roleDesc?:  string;
    roleName?:  string;
    roleCode?:  string;
    menuIdList?:string[];
}
export interface UserInfo {
    userId?:      number;
    userName?:    string;
    password?:    string|null;
    type?:        number;
    phone?:       string;
    avatar?:      string;
    deptId?:      number;
    storageSize?: number;
    lockFlag?:    number;
    delFlag?:     string;
    createTime?:  Date;
    updateTime?:  Date;
    createBy?:    null;
    updateBy?:    null;
    captchaCode?: null;
    key?:         null;
    roleList?:    Role[];
    roleIdList?: number[]
}
export interface UserVo {
    name?:      string;
    avatar?:    string;
}
export interface Menu {
    menuId?:     number;
    name?:       string;
    permission?: null | string;
    path?:       string;
    parentId?:   number;
    parentName?: null;
    icon?:       string;
    sortOrder?:  number;
    type?:       number;
    delFlag?:    string;
    createBy?:   null;
    createTime?: null;
    updateBy?:   null;
    updateTime?: null;
    children?:   Menu[] | null;
    parentKey?:  string[];
}
export interface OssConfigDetail {
    localDomain?:           string;
    localPath?:           string;
    aliYunAccessKeyId?:     string;
    aliYunAccessKeySecret?: string;
    aliYunBucketName?:      string;
    aliYunDomain?:          string;
    aliYunEndPoint?:        string;
    aliYunPrefix?:          string;
    qCloudBucketName?:      string;
    qCloudDomain?:          string;
    qCloudPrefix?:          string;
    qCloudSecretId?:        string;
    qCloudSecretKey?:       string;
    qCloudRegion?:          string;
    qCloudAppId?:          string;
    qiNiuAccessKey?:        string;
    qiNiuBucketName?:       string;
    qiNiuDomain?:           string;
    qiNiuPrefix?:           string;
    qiNiuSecretKey?:        string;
    qiNiuPreViewEncryptKey?:string;
    sftpHost?:              string;
    sftpPost?:              number;
    sftpUserName?:              string;
    sftpPassword?:              string;
    sftpRootPath?:              string;
    sftpPreviewUrl?:              string;
    type:                  number; // 0本地,1七牛,2阿里,3腾讯,4sftp

}
export interface OssConfig {
    id?:number;
    paramKey?:     string;
    paramValue?: string;
    remark?:string
}
export interface FilePrimary {
    id?:number;
    name?:string;
    size?: string;
    type:string
    url?:string;
    pid:number|string|null;
    isDir:number;
    storageType?:number|null;
}
export interface Result {
    success:   boolean;
    message?:   string;
    code:      number;
    result:    any;
    timestamp: number;
}
export interface ShareFrom{
    fileIds: string;
    expireDays: number;
    code: string;
    name:string;
}
export interface ShareBaseInfo{
    fileIds: string;
    expireDays: number;
    code: string;
    shareKey:string;
    qrCodeUrl:string;
    expireTime:string;
    name:string;
}
